//
//  Steps.h
// 
//

#import <Foundation/Foundation.h>


@interface Steps : NSObject

typedef void (^StepBlocks)(Steps *steps);
typedef BOOL (^BeforeStepBlocks)(NSUInteger currentStep, NSString *stepName);

@property (nonatomic, assign, readonly) NSUInteger stepNumber;

+ (void)sync:(NSArray *)steps;
+ (void)syncWithName:(NSString *)name array:(NSArray *)steps;
+ (void)syncWithBeforeBlock:(BeforeStepBlocks)block array:(NSArray *)steps;

- (void)step;
- (void)stepWithLabel:(NSString *)label;
- (void)label:(NSString *)label comment:(NSString *)comment;
- (void)backTo:(NSString *)label;
- (BOOL)isCurrentLabel:(NSString *)label;
- (void)exitWithComment:(NSString *)comment;

@end
